<?php

use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;

/* @var $this yii\web\View */
/* @var $model app\models\Access */
/* @var $form yii\widgets\ActiveForm */
?>

<?php
$accessto = $model->accessto;
//    print_r($accessto);
//    exit();
$access = explode(',', $accessto);
//    var_dump($access);
//    exit();
?>

<script src="../web/js/jquery.min.js" type="text/javascript"></script>

<div class="access-form">
    <div class="panel panel-default">
        <div class="panel-heading text-center" style="background: #003eff;color:white">access</div>
        <div class="panel-body">

            <?php
            $form = ActiveForm::begin([
                        'options' => ['class' => 'form-horizontal form-group'],
                        'fieldConfig' => [
                            'template' => "{label}<div class=\"col-lg-10\">{input}</div>",
                            'labelOptions' => ['class' => 'col-lg-2 control-label'],
                        ]
            ]);
            ?>

            <div class="col-lg-6">
                <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
            </div>
            <div class="col-lg-6">
                <?= $form->field($model, 'description')->textInput(['maxlength' => true]) ?>
            </div>
            <div class="col-lg-12">


                <?php
//                $listData = ArrayHelper::map(\app\models\GroupAccess::find()->asArray()->all(), 'id', 'title');
//                $model->access = explode(',', $model->access);
//                echo $form->field($model, 'access')
//                        ->checkboxList(
//                                $listData
//                        )->label('访问授权');
                ?>


                <h3>访问授权</h3>
                <?php
                $menus = $menus2;
                for ($i = 0; $i < count($menus); $i++) {
                    ?>
                    <div class="">

                        <dl>
                            <dt class="">
                            <hr/>
                            <!--
                                input属性说明：
                                    class:用于获取选中项、全选和反选
                                    name:用于判断第二级目录勾选后，其下一集目录也勾选
                                    value：用于判断第一级目录勾选后，其所有子目录也勾选
                                    id:用于判断是否勾选
                                    title：用于第二级目录的子目录
                            --> 
                            <label class="checkbox" style="margin-left: 30px"><input class="ck" type="checkbox" name="choose[<?= $i ?>]" value="<?= $i ?>" onclick="parentclick(this)" id="<?= $menus[$i]['id'] ?>" title="<?= $i ?>"><?= $menus[$i]['title'] ?></label>
                            </dt>

                            <?php if (!empty($menus[$i]['items'])) { ?>
                                <dd style="margin-left: 50px">
                                    <?php
                                    for ($j = 0; $j < count($menus[$i]['items']); $j++) {
                                        ?>

                                        <label class="checkbox"><input class="ck" type="checkbox" name="choose[<?= $i ?>][<?= $j ?>]" value="<?= $i ?>" onclick="childrenclick(this)" id="<?= $menus[$i]['items'][$j]['id'] ?>" title="<?= $i . "id" . $j ?>"> <?= $menus[$i]['items'][$j]['title'] ?></label>

                                        <?php if (!empty($menus[$i]['items'][$j]['items'])) { ?>
                                            <?php
                                            for ($k = 0; $k < count($menus[$i]['items'][$j]['items']); $k++) {
                                                ?>
                                                <input class="ck" type="checkbox" name="choose[<?= $i ?>][<?= $j ?>]" value="<?= $i ?>" id="<?= $menus[$i]['items'][$j]['items'][$k]['id'] ?>"  title="<?= $j ?>" style="margin-left: 5px"> <?= $menus[$i]['items'][$j]['items'][$k]['title'] ?>

                                                <?php
                                            }
                                        }
                                    }
                                    ?>
                                </dd>
                            <?php }
                            ?>

                        </dl>
                    </div>

                    <?php
                }
                ?>

            </div>

            <input type="hidden" id="selects" name="selects" value="">

            <div class="form-group">
                <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success col-lg-offset-6 col-xs-offset-6 col-sm-offset-6 col-md-offset-6' : 'btn btn-primary col-lg-offset-6 col-xs-offset-6 col-sm-offset-6 col-md-offset-6', 'id' => 'save']) ?>
                <?= Html::a('Return', ['index'], ['class' => 'btn btn-primary']) ?>
            </div>

            <?php ActiveForm::end(); ?>
        </div>
        <div>
            <button value="全选"  id="selectall">全选 </button>
            <button value="反选"  id="removeall" >反选 </button>
            <!--<button value="获取选中项"  id="getselect" >获取选中项 </button>-->
        </div>
    </div>

</div>

<script type="text/javascript">

    function parentclick(obj) {
        var id = $(obj).attr("id");
        var val = $(obj).attr("value");
        if ($("#" + id).is(":checked")) { //如果被选中
            $('input[value="' + val + '"]').prop('checked', true);
        } else {//未被选中
            $('input[value="' + val + '"]').prop('checked', false);
        }

    }

    function childrenclick(obj) {
        var title = $(obj).attr("title");
        var id = $(obj).attr("id");
        var arr = title.split("id");

        var i = arr[0];
        var j = arr[1];
        var name = 'choose[' + i + '][' + j + ']';
        if ($("#" + id).is(":checked")) { //如果被选中
            $('input[name="' + name + '"]').prop('checked', true);
        } else {//未被选中
            $('input[name="' + name + '"]').prop('checked', false);
        }

    }
    
    //初始化选中项
    function jiazai() {
        var access = "<?php echo $accessto ?>";
        var s = access.split(",");
        for (var i = 0; i < s.length; i++) {
            $("#" + s[i]).prop('checked', true);
        }
    }
    window.onload = jiazai;

    //获取选中项
    $('#save').click(function () {
        $('#show').html("");
        var isc = "";
        $("input[class='ck']:checked").each(function () {
            isc += this.id + ",";

        });
        if (isc.length > 0) {
            isc = isc.substring(0, isc.length - 1);//把取出的选中值去掉最后一个逗号
        }
        $('#selects').attr('value', isc);
    });


    //全选
    $("#selectall").click(function () {
        $('input[class=ck]').prop('checked', true);
        var isc = "";
        $('input[class=ck]').each(function () {
            if ($(this).is(":checked")) //如果被选中
                isc += this.id + ","; //获取被选中的值
        });
        if (isc.length > 0) {
            isc = isc.substring(0, isc.length - 1);//把取出的选中值去掉最后一个逗号
        }

        $('#selects').attr('value', isc);
    });
    //反选
    $("#removeall").click(function () {
        $('input[class=ck]').prop('checked', false);
        var isc = "";
        $('input[class=ck]').each(function () {
            if ($(this).is(":checked")) //如果被选中
                isc += this.id + ","; //获取被选中的值
        });
        if (isc.length > 0) {
            isc = isc.substring(0, isc.length - 1);//把取出的选中值去掉最后一个逗号
        }
        $('#selects').attr('value', isc);
    });



</script>
